//将路由注册为vue的插件
import Vue  from "vue";
import VueRouter from "vue-router"
Vue.use(VueRouter)

//解决多次点击编程式导航时会报错的问题
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}
const originalReplace = VueRouter.prototype.replace
VueRouter.prototype.replace = function push(location) {
  return originalReplace.call(this, location).catch(err => err)
}






import routes from "../routes/routes"
const router = new VueRouter({
  routes,
  //上线是一般要使用history模式;hash模式在第三方支付平台会出问题
  //使用history模式 有弊端: 会和后台路由产生冲突 ; 静态资源可能会丢失
  /*怎么解决冲突?
      后台路由的命名与前端路由像区分开 所有的后台路由都以/api开头 前端路由不使用/api*/
  /*怎么解决丢失问题?
  *    所有的静态资源使用绝对路径
  * */
  /*怎么保证前端路由可以被加载?
      后台接口服务器 后台静态资源服务 遇到404 同一返回index.html*/
  mode:"history",
  linkActiveClass:"active",
  // linkExactActiveClass:"active"
})

export default router
